package com.tulingxueyuan.mall.componet;

import com.tulingxueyuan.mall.modules.oms.service.OmsOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 订单超时取消并解锁库存的定时器
 */
@Component
@Slf4j
public class OrderTimeOutSender {
    @Autowired
    private OmsOrderService orderService;

    //  秒  分   时   日   月   周   年(可选)
    // 0 0/1 * ? * ?
    // 0/1   表示每分钟执行一次
    // ?   只有日期和星期可以用?   表示不关心具体值
    // *   表示任何时间
    @Scheduled(cron = "0 0/1 * ? * ?")
    private void cancelOverTimeOrder() {
        log.info("-----------OrderTimeOutSender订单超时取消并解锁库存的定时器开始执行--------------");
        orderService.cancelOverTimeOrder();
        log.info("-----------OrderTimeOutSender订单超时取消并解锁库存的定时器执行结束--------------");
    }
}
